package org.example.Server.mapper.homework;

import org.apache.ibatis.annotations.Mapper;
import org.example.Server.model.homework.*;

import java.util.List;

@Mapper
public interface TeacherHomeworkMapper {

    boolean addHmkBase(HmkTechDTO hmkTechDTO);

    void updateHmkSetting(HmkTechDTO hmkTechDTO);

    void insertEachHmk(HmkTechDTO hmkTechDTO);

    HmkTechDTO isEachExist(Integer homeworkId);

    void updateEachHmk(HmkTechDTO hmkTechDTO);

    List<HmkTechVO> getHmkList(Integer semesterId);

    HmkGradeAll getHmkOverview(Integer homeworkId);

    List<HmkStuGrade> getHmkGradeList(Integer homeworkId, Integer isGrade, Integer submitStatus, Integer divisionId);

    HmkStu getStuHmkById(Integer stuHmwkId);

    void addHmkGrade(HmkStuGradeDTO hmkStuGradeDTO);

    HmkTechDTO getHmkSetting(Integer homeworkId);

    List<HmkGradeComment> getGradeCommentList(Integer stuHmwkId);

    void updateGradeByTech(HmkOutRule hmkOutRule);

    Integer getStuHmkByUserId(Integer id);

    void insertGradeByTech(HmkOutRule hmkOutRule);

    void deleteHmkList(List<Integer> homework_ids);

    HmkTechDTO getHmkBase(Integer homeworkId);

    HmkTechDTO getHmkWeight(Integer stuHmwkId);

    List<HmkEachGrade> getStuEachScore(Integer stuHmwkId);

    void updateGetScore(Double getscore, Integer stuHmwkId);

    void updateEachedCnt(Integer stuHmwkId);

    void updateEachCnt(HmkStuGradeDTO hmkStuGradeDTO);
}
